package com.tledu.cyrus.web;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;

/**
 * @author cyrus
 */
@WebServlet("/cookie")
public class CookieStudyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");

        Cookie cookieA = new Cookie("name", "cyrus");
        Cookie cookieB = new Cookie("msg", URLEncoder.encode("会话技术"));
        cookieB.setMaxAge(30);
        resp.addCookie(cookieA);
        resp.addCookie(cookieB);

        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().write("<h1>Cookie学习</h1>");
        // 1. 工具类解决什么问题
        // 2。 工具类的输入是什么
        // 3. 工具类的输出是什么
        // 问题： 每次都要通过IO流来解决参数，IO流的代码是固定的，而且很繁琐
        // 期望： 直接获取参数的对象(指定的对象)，而不同写太多解析的过程
        // 封装一个方法
        //  1. 输入： 实现这个期望需要什么? HttpServletRequest Class(最终转换的对象类型)
        //  2. 输出： 期望。 对象，参数对象，通过对象可以拿到参数
    }
}
